package com.qezhhnjy.huawei.topic2;

import java.util.Scanner;

/**
 * @author qezhhnjy
 * @date 2021/6/20-21:37
 * Catcher是MCA国的情报员，他工作时发现敌国会用一些对称的密码进行通信，比如像这些ABBA，ABA，A，123321，
 * 但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214。
 * 因为截获的串太长了，而且存在多种可能的情况（abaaab可看作是aba,或baaab的加密形式），Cathcer的工作量实在是太大了，
 * 他只能向电脑高手求助，你能帮Catcher找出最长的有效密码串吗？
 * <p>
 * 本题含有多组样例输入。
 * <p>
 * 输入描述：
 * 输入一个字符串
 * <p>
 * 输出描述：
 * 返回有效密码串的最大长度
 * <p>
 * 示例1
 * 输入：
 * ABBA
 * 输出：
 * 4
 */
public class Topic31 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) {
            String str = in.nextLine();
            int max = 0;
            for(int i = 0; i < str.length() - 1; i++){
                //aabaa的情况
                max = Math.max(max,longestPalindrome(str,i,i));
                //aabbaa的情况
                max = Math.max(max,longestPalindrome(str,i,i+1));
            }
            System.out.println(max);
        }
    }

    public static int longestPalindrome(String s, int left, int right){
        int len = 0;
        while(left >= 0 && right < s.length() && s.charAt(left) == s.charAt(right)){
            len = right - left + 1;
            left--;
            right++;
        }
        return len;
    }
}
